Tableauの関数を全て試してみる〜表計算関数編その4〜 #tableau
はじめに
こんにちは。DI部のtama@奈良県です。
当エントリはTableau Functions Advent Calendar 2017の25日目のエントリです。 昨日のエントリはTableauの関数を全て試してみる〜表計算関数編その3〜でした。
当アドベントカレンダーの最終エントリとなります!
- 使用するTableauのバージョンは一貫して10.4.1です。
- 各関数の説明で引用しているのは、Tableauの公式リファレンスからの引用です。
- TableauHelp 関数
目次
検証環境
作業環境
- MacOS High Sierra 10.13.1
- Tableau 10.4.1
使用データ
- (原則)Tableau付属のサンプルスーパーストア
- (場合によって)関数グラフ描画用データ
- -1〜1の範囲で、0.01毎に値が並んでいるデータ
- 上記の値をディメンション「X軸」とし、その上に色々な関数をプロットする。
- 参考:Tableau 関数グラフの描画 | Developers.IO
SIZE()
概要
パーティション内の行数を返します。たとえば、次のビューには四半期ごとの売上高が示されています。日付パーティション内には 7 行があるため、日付パーティションの Size() は 7 になります。
- 指定した表計算の計算範囲内の、行数をカウントする関数です。
使ってみた
SIZE()
全部「12」となっています。この表は2017年の月別に売上を出している表になりますが、「表(横)」で計算しているので、ちょうど行数としては12月分あるので、値は「12」が返っています。
どういう時に使う?
- 上記の例では、値は決まりきっていますが、計算によって行数が変動するような場合、一定行数算出されるデータだけをフィルタリングする際等に使用できます。
参考文献
- Question about Size() function and filter by # … |Tableau Community
- Table Calculation Functions: Addressing Matrix |Tableau Community
SCRIPT_BOOL
概要
指定された式からブールの結果を返します。式は実行中の外部サービス インスタンスに直接渡されます。 R 式では、パラメーターに .argn (先頭にピリオド) を使用してパラメーターを参照します (.arg1、.arg2、など)。 Python 式では、_argn (先頭にアンダースコア) を使用します。
SCRIPT_INT
概要
指定された式から整数の結果を返します。式は実行中の外部サービス インスタンスに直接渡されます。 R 式では、パラメーターに .argn (先頭にピリオド) を使用してパラメーターを参照します (.arg1、.arg2、など)。 Python 式では、_argn (先頭にアンダースコア) を使用します。
SCRIPT_REAL
概要
指定された式から実際の結果を返します。式は実行中の外部サービス インスタンスに直接渡されます。 R 式では、パラメーターに .argn (先頭にピリオド) を使用してパラメーターを参照します (.arg1、.arg2、など)。 Python 式では、_argn (先頭にアンダースコア) を使用します。
SCRIPT_STR
概要
指定された式から文字列の結果を返します。式は実行中の外部サービス インスタンスに直接渡されます。 R 式では、パラメーターに .argn (先頭にピリオド) を使用してパラメーターを参照します (.arg1、.arg2、など)。 Python 式では、_argn (先頭にアンダースコア) を使用します。
- その名の通り、指定したスクリプトに式を渡す関数です。
- R言語などの、外部サービスを利用して得た結果が返ります。
- 上記4つの関数の違いは、返ってくる結果の型です。
使ってみた
今回は、下記のエントリを参考に、R連携したワークブックを開いてみます。
R言語をインストールし、R連携ができるようになったら、下記からR連携を使用しているサンプルのTableauワークブックをダウンロードしてみます。 * http://www.tableausoftware.com/sites/default/files/blog/r_kmeans_0.twbx
SCRIPT_INT( 'set.seed(42);result <- kmeans(data.frame(.arg1,.arg2,.arg3,.arg4), 3);result$cluster;', SUM([Petal length]), SUM([Petal width]),SUM([Sepal length]),SUM([Sepal width]))
このワークブックは、「Iris」というR言語に付属しているデータセットに対して、Kmeans法というクラスター分析を行っているものです。そのKmeansを行うにあたり、R言語での処理を行っています。
どういう時に使う?
- RやPyton等を使った、非常に高度なデータ分析を行う場合、この関数は必須となります。
参考文献
- Tableau 外部サービス接続
- TableauでRをつかってみよう!(準備編) | Tableau Padawan’s Tips & Tricks
- TableauでRをつかってみよう!(実践編) | Tableau Padawan’s Tips & Tricks
- Tableau + R 連携で知っておきたいこと |Tableau Community
- Tableau Integration with Python - Step by Step |Tableau Community
- Put your MATLAB models and algorithms to work in Tableau | Tableau Software
TOTAL(expression)
概要
表計算パーティションで指定された式の合計を返します。
- 指定した表計算の計算範囲内の、値を合計する関数です。
使ってみた
どういう時に使う?
- 帳票系のビューを作成する際、「総計」みたいな値を作成する場合に使用できると思います。
参考文献
Window系関数
概要
当アドベントカレンダーの中で、集計関数というものを紹介してきましたが、その集計関数を、指定した表計算の範囲内で行うものがWindow系関数です。 範囲が変わるだけで、関数の内容自体は同じですので、WINDOW関数については、該当関数の過去エントリへのリンクを貼る形で紹介します。 WINDOW関数の特徴として、引数に範囲を指定できます。ここにFIRST関数等を入れることで、色々な範囲で計算を行うことが可能です。
WINDOW_AVG(expression, [start, end])
WINDOW_CORR(expression1, expression2, [start, end])
WINDOW_COUNT(expression, [start, end])
WINDOW_COVAR(expression1, expression2, [start, end])
WINDOW_COVARP(expression1, expression2, [start, end])
WINDOW_MEDIAN(expression, [start, end])
WINDOW_MAX(expression, [start, end])
WINDOW_MIN(expression, [start, end])
WINDOW_PERCENTILE(expression, number, [start, end])
WINDOW_STDEV(expression, [start, end])
WINDOW_STDEVP(expression, [start, end])
WINDOW_SUM(expression, [start, end])
WINDOW_VAR(expression, [start, end])
WINDOW_VARP(expression, [start, end])
おわりに
本エントリにて、当アドベントカレンダー「Tableauの関数を全て試してみる」は終了です!ありがとうございました! これだけ関数を紹介しておいてアレですが、Tableauを使用するコツみたいなものとして、標準機能でできることは標準機能で行うというものがあります。何でもかんでも計算フィールドを作らないようにした方が、構成もシンプルになりますし、パフォーマンスも良い場合が多いです。
それでは、皆様よいお年を!!